package com.xz.stu.server.service;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import com.xz.stu.server.entity.CourseSelection;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xz.stu.server.vo.courseSelection.*;

import java.util.List;

/**
* @author 熊磊
* @description 针对表【school_courseselection(开设课程信息表)】的数据库操作Service
* @createDate 2025-03-04 09:12:38
*/
public interface CourseSelectionService extends IService<CourseSelection> {

    Long createCourseSelection(CourseSelectionCreateReqVO createReqVO);

    void updateCourseSelection(CourseSelectionUpdateReqVO updateReqVO);

    void deleteCourseSelection(List<Long> id);

    CourseSelectionRespVO getCourseSelection(Long id);

    List<CourseSelectionRespVO> getCourseSelectionList(CourseSelectionListReqVO listReqVO);

    PageResult<CourseSelectionRespVO> getCourseSelectionListPage(CourseSelectionListPageReqVO listReqVO);

    Boolean selectCourse(Long id);

    List<CourseSelectionRespVO> getCourseSelectionListByTeacherId(Long termId);

    List<CourseSelectionStudentRespVO> getCourseSelectionStudents(Long courseId);

    Boolean updateAndAddScore(CourseSelectionUpdateAndAddScoreReqVO updateAndAddScoreReqVO);
}
